package com.soul.sys.bean.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.soul.common.bean.comm.BasePo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * <p>
 * 用户表
 * </p>
 * @author sws
 * @since 2022-11-23 01:06:23
 */
@Data
@Accessors(chain = true)
@TableName("soul_user")
@ApiModel(value = "UserPo对象", description = "用户表")
public class UserPo extends BasePo {

    private static final long serialVersionUID = 1L;

    /**
     * 用户名
     */
    @ApiModelProperty("用户名")
    @TableField("username")
    private String username;

    /**
     * 密码
     */
    @ApiModelProperty("密码")
    @TableField("password")
    private String password;

    /**
     * 昵称
     */
    @ApiModelProperty("昵称")
    @TableField("name")
    private String name;

    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    @TableField("phone")
    private String phone;

    /**
     * 邮箱
     */
    @ApiModelProperty("邮箱")
    @TableField("email")
    private String email;

    /**
     * 用户类型
     */
    @ApiModelProperty("用户类型")
    @TableField("user_type")
    private String userType;
    /**
     * 头像
     */
    @ApiModelProperty("头像")
    @TableField("head_portrait")
    private String headPortrait;

    /**
     * 年龄
     */
    @ApiModelProperty("年龄")
    @TableField("age")
    private Integer age;

    /**
     * 性别
     */
    @ApiModelProperty("性别")
    @TableField("sex")
    private Byte sex;

    /**
     * 地区
     */
    @ApiModelProperty("地区")
    @TableField("region")
    private Long region;

    /**
     * 角色id
     */
    @ApiModelProperty("角色id")
    @TableField("role_id")
    private Long roleId;

    /**
     * 个性签名
     */
    @ApiModelProperty("个性签名")
    @TableField("signature")
    private String signature;

    /**
     * 生日
     */
    @ApiModelProperty("生日")
    @TableField("birthday")
    private String birthday;

    /**
     * 最后一次登录时间
     */
    @ApiModelProperty("最后一次登录时间")
    @TableField("login_time")
    private LocalDateTime loginTime;

    /**
     * 登录ip地址
     */
    @ApiModelProperty("登录ip地址")
    @TableField("login_ip")
    private String loginIp;

    /**
     * 是否锁定 0正常 1冻结（冻结账户无法登录）
     */
    @ApiModelProperty("是否锁定 0正常 1冻结（冻结账户无法登录）")
    @TableField("is_lock")
    private Byte isLock;

    /**
     * 是否删除 0否 1是
     */
    @TableField("is_del")
    @TableLogic
    private Byte isDel;
    /**
     * 头像
     */
    @TableField("avatar_id")
    private Long avatarId;
}